package lesson.redis;

import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

/**
 * @Description:
 * @Author: Wanzhen
 * @Date: 2022/6/14-15:35
 */
public class TestConnRedis {

    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        // 如果 Redis 服务设置了密码，需要下面这行，没有就不需要
        // jedis.auth("123456");
        //System.out.println("连接成功");
        //查看服务是否运行
        //System.out.println("服务正在运行: "+jedis.ping());

        //1.String类型【确诊人数】
        jedis.set("nocv","呱呱");
        System.out.println(jedis.get("nocv"));

        //2.List集合【新闻列表】
        //存储数据到列表中，从左侧推出
        jedis.lpush("site-list", "Runoob");
        jedis.lpush("site-list", "Google");
        jedis.lpush("site-list", "Taobao");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("site-list", 0 ,2);
        for(int i=0; i<list.size(); i++) {
            System.out.println("列表项为: "+list.get(i));
        }

        //3.无序集合，去重
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","221");
        Set<String> nocvset = jedis.smembers("nocvset");
        for(String s : nocvset){
            System.out.println(s);
        }

        //4.SortedSet有序集合【排名，排序，排序码】
        jedis.zadd("nocvset1",42,"111");
        jedis.zadd("nocvset1",22,"112");
        jedis.zadd("nocvset1",75,"113");
        jedis.zadd("nocvset1",43,"114");
        Set<String> nocvset1 = jedis.zrange("nocvset1", 0, -1);
        for(String s : nocvset1){
            System.out.println(s);
        }
        Long zrank = jedis.zrank("nocvset1", "113");
        System.out.println(zrank);

        System.out.println("--------------------------------------");
        //返回分数区间内的个数
        Long nocvset2 = jedis.zremrangeByScore("nocvset1", 20, 50);
        System.out.println(nocvset2);

        Double zscore = jedis.zscore("nocvset1", "111");
        System.out.println(zscore);

    }

}
